Bonjour les amis,
Donc voila je suis sur un projet d'application androïde qui est un lecteur de QR code personnalisé et au cours de mon chemin j'ai trouver un problème concernant l'ajout d'un simple bouton d'action en utilisons la méthode OnClickListner
Fichier Manifest.xml
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.man.test4" android:versionCode="1" android:versionName="1.0"> <uses-permission android:name="android.permission.CAMERA"/> <uses-permission android:name="android.permission.CALL_PHONE" /> <uses-feature android:name="android.hardware.camera" android:required="false"/> <uses-sdk android:minSdkVersion="8" /> <application android:label="@string/app_name" android:icon="@drawable/ic_launcher"> <activity android:name="MainActivity" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="com.dm.zbar.android.scanner.ZBarScannerActivity" android:screenOrientation="landscape" android:label="@string/app_name" /> </application> </manifest>
Fichier main.xml
Fichier source
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:padding="5dp" android:gravity="center" android:layout_width="fill_parent" android:layout_height="fill_parent"> <Button android:id="@+id/scan_btn" android:layout_height="wrap_content" android:layout_width="fill_parent" android:onClick="launchScanner" android:text="@string/scan" /> </LinearLayout>
Donc mon but c'est de crée un bouton action nommé Options, qui renvoi a une autre activité, comment dois-je procéder a votre avis?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75 package com.man.test4; import android.app.Activity; import android.content.Intent; import android.content.pm.PackageManager; import android.net.Uri; import android.os.Bundle; import android.text.TextUtils; import android.view.View; import android.widget.Toast; import com.dm.zbar.android.scanner.ZBarConstants; import com.dm.zbar.android.scanner.ZBarScannerActivity; import net.sourceforge.zbar.Symbol; public class MainActivity extends Activity { private static final int ZBAR_SCANNER_REQUEST = 0; private static final int ZBAR_QR_SCANNER_REQUEST = 1; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } public void launchScanner(View v) { if (isCameraAvailable()) { Intent intent = new Intent(this, ZBarScannerActivity.class); startActivityForResult(intent, ZBAR_SCANNER_REQUEST); } else { Toast.makeText(this, "Rear Facing Camera Unavailable", Toast.LENGTH_SHORT).show(); } } // public void launchQRScanner(View v) { // if (isCameraAvailable()) { // Intent intent = new Intent(this, ZBarScannerActivity.class); // intent.putExtra(ZBarConstants.SCAN_MODES, new int[]{Symbol.QRCODE}); // startActivityForResult(intent, ZBAR_SCANNER_REQUEST); // } else { // Toast.makeText(this, "Rear Facing Camera Unavailable", Toast.LENGTH_SHORT).show(); // } // } public boolean isCameraAvailable() { PackageManager pm = getPackageManager(); return pm.hasSystemFeature(PackageManager.FEATURE_CAMERA); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { switch (requestCode) { case ZBAR_SCANNER_REQUEST: case ZBAR_QR_SCANNER_REQUEST: if (resultCode == RESULT_OK) { //Toast.makeText(this, "Scan Result = " + data.getStringExtra(ZBarConstants.SCAN_RESULT), Toast.LENGTH_SHORT).show(); Intent callIntent = new Intent(Intent.ACTION_CALL); callIntent.setData(Uri.parse("tel:"+data.getStringExtra(ZBarConstants.SCAN_RESULT).toString())); callIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(callIntent); } else if(resultCode == RESULT_CANCELED && data != null) { String error = data.getStringExtra(ZBarConstants.ERROR_INFO); if(!TextUtils.isEmpty(error)) { Toast.makeText(this, error, Toast.LENGTH_SHORT).show(); } } break; } } }
En gros mon application ressemble a ca
Et mon but c'est cela
Et quand on clique dessous ca nous donne ca
Merci et bonne journée a tous
Partager